草庐IT

ruby module_function 与包含模块

全部标签

ruby - 列出模块在 Ruby 中声明的所有类型

如何在Ruby中列出模块声明的所有类型? 最佳答案 使用Module模块中定义的constants方法。来自Ruby文档:Module.constants=>arrayReturnsanarrayofthenamesofallconstantsdefinedinthesystem.Thislistincludesthenamesofallmodulesandclasses.pModule.constants.sort[1..5]produces:["ARGV","ArgumentError","Array","Bignum","Bi

Ruby:如何检查一个字符串是否包含多个项目?

我熟悉Ruby的include?字符串方法,但我如何检查一个字符串的多个内容?具体来说,我需要检查字符串是否包含“Fwd:”或“FW:”(并且应该不区分大小写)示例字符串为:“FWD:您的Amazon.com订单已发货” 最佳答案 the_string=~/fwd:|fw:/i你也可以使用类似的东西%w(fwd:fw:).any?{|str|the_string.downcase.include?str}虽然我个人更喜欢在这种情况下使用正则表达式的版本(特别是因为你必须在第二个中调用downcase以使其不区分大小写)。

ruby - 在 Ruby 模块上调用方法

我有以下Ruby代码:moduleMyModuleclassMyClassdefself.my_methodendendend要调用my_method,我输入MyModule::MyClass.my_method。我想在模块本身上为my_method编写一个包装器:MyModule.my_method这可能吗? 最佳答案 我不确定您想要实现什么,但是:如果您将其设为常规方法并使用module_function对其进行修改,您将能够以您选择的任何方式调用它。#!/usr/bin/ruby1.8moduleMyModuledefmy_m

ruby - 在另一个模块中扩展模块

我正在尝试定义几个模块,以便轻松地将一些实例和类方法添加到其他类中,这就是我正在做的事情:moduleFoomoduleBardefspeakputs"heythere"endendmoduleBazextendFoo::Bardefwelcomeputs"welcome,thisisaninstancemethod"endendendclassTalkerincludeFoo::BazendTalker.new.welcomeTalker.speak这个的输出是:welcome,thisisaninstancemethodundefinedmethod'speak'forTalker

ruby - 为 Ruby 编写模块

如何为ruby​​编写模块。在python中你可以使用#module.pydefhelloworld(name):print"Hello,%s"%name#main.pyimportmodulemodule.helloworld("Jim")回到问题,你如何在ruby​​中/为ruby​​创建一个模块 最佳答案 Ruby中的模块与Python中的模块有不同的用途。通常,您使用模块来定义可以包含在其他类定义中的通用方法。但是Ruby中的模块也可以像在Python中一样以类似的方式使用,只是将某些命名空间中的方法分组。因此,您在Ruby

Ruby 'is_a?' 需要类或模块 (TypeError)

我正在尝试使用Ruby并尝试创建一个小型银行账户程序。当我运行这行与create_account一起运行的特定代码时:unless@response.is_a?Integer&&@response.to_str.length==4puts"Yourresponsemustbe4numbersinlength."create_accountelse@pin=@responseputs"Yourpinhasbeenset."end我收到这样的回复:bank_account.rb:24:in'is_a?':classormodulerequired(TypeError)frombank_ac

ruby - 如何在单独的类/模块/文件中编写 Thor 任务?

我在获取Thor时遇到了一些问题这样做,所以希望有人能指出我做错了什么。我有一个主类classMyApp我想为多个命名空间分成单独的文件,比如thorcreate:app_type和thorupdate:app_type.我找不到任何示例来说明应该如何将Thor应用程序分解成多个部分,而且我尝试过的方法似乎不起作用。举个例子,这个类我正试图从主Thor类中脱离出来:moduleThingsmoduleGroupingdesc"something","Dosomethingcoolinthisgroup"defsomething....endendend当我尝试在我的主类中包含或要求它时

ruby-on-rails - 何时考虑在 Rails 应用程序中创建自己的 Ruby 模块?

使用Ruby模块,您可以将可能在一个地方使用的一堆方法聚集在一起,然后将它们包含到一个类中,就好像您在该类中编写了它们一样。Rails应用程序中的Ruby模块有哪些实际用途?如果有人能举出他们实际使用自己模块的示例,我将不胜感激,这样我就能了解我应该考虑创建它们的情况。谢谢。 最佳答案 1)每当我要复制(或实质上复制)一段代码时:“哦,我可以剪切/粘贴到另一个Controller中......”2)任何时候我编写的代码很明显将来会被重用。3)具有特定用途的大型代码,其中该用途与Controller/模型的主要用途截然不同。这与(2)

javascript - Rails 递归地包含 javascripts Assets 文件夹

我了解如何将一个javascript文件添加到RailsAssets管道。只需添加//=requirefilename到application.js但是如何在一个文件夹下包含多个javscripts文件vendor/assets/javascripts/或者我必须明确列出它们? 最佳答案 //=require_tree.将需要application.js当前目录中的所有内容//=require_tree./js_library如果在app/assets/javascripts下,将需要js_library子目录中的所有内容如果您尝试

ruby-on-rails - 如何检查一个散列是否包含在另一个散列中的 "completely"?

我正在使用RubyonRails3.1.0,我想检查一个散列是否“完全”包含在另一个散列中并返回一个bool值。假设我有那些哈希值:hash1={:key1=>'value1',:key2=>'value2',:key3=>'value3'}hash2={:key1=>'value1',:key2=>'value2',:key3=>'value3',:key4=>'value4',:key5=>'value5',...}我想检查hash1是否包含在hash2中,即使在hash2中的值多于hash1(在上述情况下,我正在寻找的响应应该是true)?是否可以通过使用“一个唯一的代码行”\“